前兩回的討論都還限定在凸函數的優化,然而決大部分的函數都不是凸函數,所以今天要來看看更一般的最佳化演算法,最常見的形式就是梯度下降法。
$$
h^=\mathop{\arg\min}{h \in \mathcal{H}} \sum{i=1}^N \lambda(h, (x_i, y_i))
$$
延續之前的符號,我們仍然要找到 $h^$,其中 $w$ 為 $h$ 的參數。
Gradient Descent 的步驟如下:
$$
w_{t+1} = w_{t} - \eta \nabla \lambda(h_{w_t}, (x_i, y_i))
$$
其中 $w_0$ 通常是隨機初始,$\eta$ 稱之為學習率(learning rate),藉由 $\nabla \lambda$ 去尋找最好的 $w$ 。
從基本的梯度下降法還衍伸出許多變形,像是 Momentum、RMSprop、AdaGrad、Adaptive Moment Estimation ( Adam ) 等等,尤其在深度學習中會看到。